<script>

    // Promise.all([p1,p2,p3,,,])
    // 必须等待每一个promise都完成，并且都成功才能进行下一步
    // 它也会返回一个promise

    let p1=new Promise((resolve,reject)=>{

        setTimeout(()=>{
            console.log(1);
            resolve(1)
        },1000)

    })
    let p2=new Promise((resolve,reject)=>{

        setTimeout(()=>{
            console.log(2);
            resolve(2)
        },3000)

    })
    let p3=new Promise((resolve,reject)=>{

        setTimeout(()=>{
            console.log(3);
            // resolve(3)
            reject("出错了")
        },2000)

    })

    // 有很多异步操作
    let p=Promise.all([p1,p2,p3])


    // console.log(p);

    p.then((res)=>{

        console.log(res);//[1, 2, 3] 所有的promise都成功才会执行到这里 结果以数组的形式呈现

    }).catch((err)=>{

        console.log(err);//如果其中一项promise不是正确的结果，那么就会走catch

    })






</script>